//
//  MyStreetService.m
//  homeland
//
//  Created by SunShine on 13-10-23.
//  Copyright (c) 2013年 xzysun. All rights reserved.
//

#import "MyStreetService.h"
#import "StreetInfoService.h"
#import "InfoWithAdvisoryPhoneMapCell.h"

@implementation MyStreetService

- (id)init
{
    self = [super init];
    if (self) {
        //
        _keyCategoryDic = [NSDictionary dictionaryWithObjectsAndKeys:@"2",@"街道办",@"27", @"党代表工作室", @"28", @"人大代表工作室",@"29", @"政协委员工作室",@"13", @"居委会",@"30", @"派出所",@"15", @"司法所",@"16",@"除四害管理站",@"17", @"家庭服务中心", @"4", @"社区医院", @"10", @"区内学校-中学", @"9", @"区内学校-小学", @"11", @"区内学校-幼儿园", @"25", @"养老机构-公办", @"26", @"养老机构-民办", nil];
        //定义一个返回的处理，这样用于在取三个工作室的时候可以填充默认数据,如果不需要默认数据，请注释掉这个block的定义
        __block MyStreetService* weakSelf = self;
        SuccessBlock = ^(id json){
            NSArray *list = [json objectForKey:@"pageList"];
            //如果是党代表工作室
            if ([weakSelf.queryKey isEqualToString:@"党代表工作室"] && list.count == 0) {
                NSLog(@"开始增加党代表工作室的默认数据");
                CommonMineQueryItem *item = [CommonMineQueryItem new];
                item.address = @"广州市海珠区泰沙路555号办事处1楼";
                item.Id = @"666";
                item.content = @" 凤阳街道党代表工作暂行制度\r\n\r\n　　　　为了切实加强党的制度建设，实现党代表工作制度化、规范化、程序化，结合我街道实际情况，制定如下制度：\r\n　　　　一、党代表工作室制度\r\n　　　　（一）党代表工作室是市、镇（街道）两级党代表履行代表职责、联系党员群众的工作平台，主要发挥“知党情、听民意、促和谐”的作用。党代表工作室为党代表履行职责提供便利条件，加强党代表之间的联络与交流。\r\n　　　　（二）党代表工作室每周定期开放一次，每次开放时间不少于两个小时。\r\n　　　　（三）党代表工作室实行党代表分组轮流接见党员群众制度，按照代表人数安排轮值时间。如当值党代表因事不能出席，请提前两天与党代表工作室联络员联系，对轮值时间进行调整，并通知下一位党代表轮值。\r\n　　　　（四）党代表根据工作需要，不定期走访辖区的党员群众，收集社情民意。\r\n　　　　（五）党代表工作室定期安排党代表集体接访党员群众。\r\n　　　　（六）党代表工作室实行回复责任制度。党代表工作室负责收集整理党代表的意见、建议，分送有关部门，跟踪落实情况，并及时向党代表和党员群众反馈。\r\n　　　　（七）每个党代表工作室配备1至2名兼职联络员，负责做好党代表工作室的日常工作。\r\n　　　　二、党代表接访走访党员群众制度\r\n　　　　（一）实行分片包干制度，定期开展接访、走访党员群众活动，深入辖区党员群众中收集社情民意。（见附件）。\r\n　　　　（二）在包干片内向群众公布党代表的手机号码和邮箱地址。\r\n（三）定期组织党代表到基层开展集体接访群众日\r\n　　　　（四）党代表在接见、走访中发现的问题和收集的社情民意应及时登记，并加具处理意见，经党代表工作室联络员整理、汇总后，交相关部门限时办理。\r\n　　　　（五）负责承办的单位，应在十个工作日内向党代表工作室反馈承办问题的处理情况。\r\n　　　　（六）党代表工作室联络员将承办单位对承办问题的处理情况通知相关党代表，并通过适当方式向有关党员群众反馈。\r\n　　　　（七）党代表工作室联络员要及时掌握相关党员群众对承办结果的意见，并向党代表本人和辖区党组织汇报。\r\n　　　　三、党代表在工作室接访党员群众工作规范\r\n　　　　（一）党代表根据工作室的轮值安排到党代表工作室接见党员群众，具体时间由工作室联络员于党代表商量确定。\r\n　　　　（二）党代表接访党员群众，主要是宣传党的路线、方针、政策；了解党委、政府有关决议、决策的贯彻实施情况；分析、掌握党情、社情民意；倾听、收集基层党员群众关注的热点、难点问题和有关困难、诉求，以及对有关工作的意见建议；受市委、镇（街道）党委委托，就重大决策问题征求党员群众的意见建议。\r\n　　　　（三）党代表接访党员群众，需填写《党代表接见党员群众登记表》，如实记录党员群众的意见、建议。\r\n　　　　（四）党代表对党员群众反映情况和问题，能够当场解释的，应当场给予解释；不能当场作出解释的，应提出办理意见，交联络员转有关部门处理。对不属自身职权范围内的问题，不能随便向党员群众作出承诺。\r\n　　　　（五）党代表接待、走访群众过程中，对于涉及下列内容的意见建议可以不予登记：属党和国家机密的；处于司法程序的案件；要求解决个人问题的，如工作调动、住房分配、职称评定、子女就业问题等；其他不符合法律法规和政策规定的问题。\r\n　　　　（六）党代表要对党员群众反映问题的办理情况进行跟踪、督办，并及时向党员群众反馈。\r\n　　　　四、党代表例会制度\r\n　　　　（一）每三个月党代表召开一次工作例会。\r\n　　　　（二）召开党代表工作例会时，党代表要汇报过去三个月的工作情况，工作室联络员要作好记录。\r\n　　　　（三）党代表要把党员群众反映强烈的问题共同讨论，提出提案、提议，向上级反映。\r\n　　\r\n附件\r\n凤阳街道党代表分片包干表\r\n\r\n党代表姓名\t职务 \t      包干区域\r\n江绍强\t区纪委书记\t凤和联社、鹭江社区\r\n杨伟华\t区纪委副书记、区监察局局长\t五凤联社、金马社区\r\n肖建华\t原街道党工委书记\t凤和、五凤联社\r\n陈建彬\t街道党工委书记\t凤和联社，鹭江社区、凤和治安联防队支部\r\n苏明庆\t街道党工委副书记、办事处主任\t金马、西畔里社区，宏大广航党总支\r\n饶仲曦\t街道党工委书记\t叠彩园社区、银岭支部、交通旅行社支部\r\n李雪红\t街道办事处副主任\t润翠、富康、南珠社区，国海电梯党支部，锦江之星党支部\r\n林淑妍\t党政办主任\t叠彩园、逸景翠园、凤和社区，汇迪支部\r\n林进文\t民政科科长\t康东、康中、康西社区，机关等6个支部\r\n林秀贤\t五凤经济联社党总支副书记\t五凤联社，五凤、五村、旧凤凰社区\r\n何振华\t凤阳社区党总支部书记\t凤阳、泰宁社区，顺景酒家党支部\r\n周仁芳\t敦和社区党总支部书记\t敦和、和平、汇源社区，广一泵业支部\r\n";
                item.title = @"党代表工作室";
                item.dituid = @"666";
                item.categoryid = @"27";
                weakSelf.dataList = [NSArray arrayWithObject:item];
            }
            if ([weakSelf.queryKey isEqualToString:@"人大代表工作室"] && list.count == 0) {
                NSLog(@"开始增加人大代表工作室默认数据");
                CommonMineQueryItem *item = [CommonMineQueryItem new];
                item.address = @"广州市海珠区泰沙路555号办事处1楼";
                item.Id = @"667";
                item.content = @"每周六上午9-11点开放";
                item.title = @"人大代表工作室";
                item.dituid = @"667";
                item.categoryid = @"28";
                weakSelf.dataList = [NSArray arrayWithObject:item];
            }
            if ([weakSelf.queryKey isEqualToString:@"政协委员工作室"] && list.count == 0) {
                NSLog(@"开始增加政协委员工作室默认数据");
                CommonMineQueryItem *item = [CommonMineQueryItem new];
                item.address = @"广州市海珠区泰沙路555号办事处1楼";
                item.Id = @"668";
                item.content = @"每周六上午9-11点开放";
                item.title = @"政协委员工作室";
                item.dituid = @"668";
                item.categoryid = @"29";
                weakSelf.dataList =[NSArray arrayWithObject:item];
            }
            if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(loadDataFinished)]) {
                [weakSelf.delegate loadDataFinished];
            }
        };
    }
    return self;
}

#pragma mark - Request Methods
-(void)loadDataWithKey:(NSString *)keyOrNil
{
    _currentPageNo = 0;//刷新或查询的时候将请求页码变为0
    if (self.dataList) {
        self.dataList = nil;
    }
    [self startRequest:keyOrNil];
}

-(void)loadMoreDataWithKey:(NSString *)keyOrNil
{
    [self startRequest:keyOrNil];
}

-(void)startRequest:(NSString *)keyOrNil
{
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    if ([_queryKey isEqualToString:@"街道消息"]) {
        //街道信息
        [params setValue:[StreetInfoService getService].selectedStreetId forKey:@"streetId"];
        [params setValue:@"" forKey:@"type"];
        [params setValue:@"" forKey:@"unitId"];
        _dataItemName = @"";
    } else {
        //
        [params setValue:[self getCategoryId] forKey:@"categoryid"];
        [params setValue:[StreetInfoService getService].selectedStreetId forKey:@"from_street_id"];
        _dataItemName = @"CommonMineQueryItem";
    }
    if (keyOrNil) {
        [params setValue:keyOrNil forKey:@"title"];
    } else {
        [params setValue:@"" forKey:@"title"];
    }
    [self doHttpPost:[self getURLForRequest] headers:nil path:[NSString stringWithFormat:@"/%d",_currentPageNo+1] parameters:params];
}

-(NSString *)getURLForRequest
{
    if ([_queryKey isEqualToString:@"街道消息"]) {
        //
        return MY_STREET_NOTICE_URL;
    } else {
        return WOYAOCHA;
    }
}

-(NSString *)getCategoryId
{
    return [_keyCategoryDic objectForKey:_queryKey];
}

#pragma mark - Table Methods
-(CGFloat)heightForCellAtRow:(NSIndexPath *)index
{
    return 64.0;
}

-(void)configCell:(UITableViewCell *)cell atIndex:(NSIndexPath *)index
{
    CommonMineQueryItem *item = [self.dataList objectAtIndex:index.row];
    if ([_queryKey isEqualToString:@"党代表工作室"]||[_queryKey isEqualToString:@"人大代表工作室"]||[_queryKey isEqualToString:@"政协委员工作室"]) {
        //带咨询的按钮
        InfoWithAdvisoryPhoneMapCell *tempCell = (InfoWithAdvisoryPhoneMapCell *)cell;
        [self configInfoWithAdvisoryPhoneMapCell:tempCell withItem:item adIndex:index.row];
    } else {
        //普通的电话+地图
        InfoWithPhoneAndMapCell *tempCell = (InfoWithPhoneAndMapCell*)cell;
        [self configInfoWithPhoneAndMapCell:tempCell withItem:item atIndex:index.row];
    }
}

-(void)configInfoWithAdvisoryPhoneMapCell:(InfoWithAdvisoryPhoneMapCell *)cell withItem:(CommonMineQueryItem *)item adIndex:(NSInteger)index
{
    cell.mainInfoLabel.text = item.title;
    cell.additionalInfoLabel.text = item.address;
    cell.additionalInfoLabel.hidden=YES;//内测测试要求隐藏这个按钮
    cell.mapButton.hidden=YES;//内测测试要求隐藏这个按钮
    //隐藏地址按钮之后移动原有两个按钮的位置
    cell.phoneButton.frame = cell.advisoryButton.frame;
    cell.advisoryButton.frame = cell.mapButton.frame;
    //电话按钮
    if (item.phone&&item.phone!=(id)[NSNull null]&&item.phone.length>0) {
        [cell.phoneButton setEnabled:YES];
        [cell.phoneButton setBackgroundImage:[UIImage imageNamed:@"bt-电话.png"] forState:UIControlStateNormal];
        cell.phoneButton.tag = index;
        if (self.delegate && [self.delegate respondsToSelector:@selector(phoneButtonAction:)]) {
            [cell.phoneButton addTarget:self.delegate action:@selector(phoneButtonAction:) forControlEvents:UIControlEventTouchUpInside];
        }
    } else {
        [cell.phoneButton setEnabled:NO];
        [cell.phoneButton setBackgroundImage:[UIImage imageNamed:@"bt-电话-灰.png"] forState:UIControlStateNormal];
        cell.phoneButton.hidden = YES;//没有电话的时候隐藏
    }
    //咨询按钮
    cell.advisoryButton.tag = index;
    if (self.delegate && [self.delegate respondsToSelector:@selector(advisoryButtonAction:)]) {
        [cell.advisoryButton addTarget:self.delegate action:@selector(advisoryButtonAction:) forControlEvents:UIControlEventTouchUpInside];
    }
    //地图按钮
    if (item.point&&item.point!=(id)[NSNull null]&&item.point.length>0) {
        [cell.mapButton setEnabled:YES];
        [cell.mapButton setBackgroundImage:[UIImage imageNamed:@"bt-地图.png"] forState:UIControlStateNormal];
        cell.mapButton.tag = index;
        if (self.delegate && [self.delegate respondsToSelector:@selector(mapButtonAction:)]) {
            [cell.mapButton addTarget:self.delegate action:@selector(mapButtonAction:) forControlEvents:UIControlEventTouchUpInside];
        }
    } else {
        [cell.mapButton setEnabled:NO];
        [cell.mapButton setBackgroundImage:[UIImage imageNamed:@"bt-地图-灰.png"] forState:UIControlStateNormal];
    }
}
@end
